Timing synchronization using dirty templates in ultra wideband (UWB) communications

ABSTRACT

Techniques are described for synchronizing the timing of the receiver with the received waveform in ultra wideband (UWB) communication systems. The described techniques correlate the received waveform with dirty templates, i.e. segments of the received waveform, with the received waveform to estimate the timing offset. The described techniques include receiving an ultra wideband (UWB) waveform through a wireless communication channel, wherein the received UWB waveform comprises bursts of information-bearing symbols. A template is selected to be used for estimating the timing offset of a burst of the received UWB waveform, wherein the template comprises a segment of a burst of the received UWB waveform, and the template is correlated with a segment of a burst of the received waveform so as to form an estimate of the timing offset of the received UWB waveform. A stream of symbol estimates is output in accordance with the estimated timing offset.

This application claims priority from U.S. Provisional Application Ser. No. 60/453,659, filed Mar. 8, 2003, the entire content of which is incorporated herein by reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with Government support under Subcontract #497420 awarded by the University of Delaware (Army Prime #DAAD19-01-2-011). The Government may have certain rights in the invention.

TECHNICAL FIELD

The invention relates to communication systems and, more particularly, transmitter and receivers used in wireless communication systems.

BACKGROUND

In general, a receiver in a wireless communication system does not have a priori knowledge of the physical channel over which the transmitted signal propagates or the time at which a transmitter transmits the signal. Timing synchronization, also known as clock recovery, is the process by which the receiver processes a received signal to determine the precise transition points within the received waveform. In other words, the receiver attempts to “synchronize” or align its clock with the clock of the arriving waveform. This process requires the receiver to estimate or otherwise determine the appropriate “timing offset” of the received signal, i.e., the amount of skew between the transmitter's clock and that of the arriving waveform.

Incorrect determination of the timing offset can have detrimental effects on other receiver operations, such as channel estimation, symbol detection, and the like. For example, an incorrect timing offset may cause the received waveform to be sampled at times during which the waveform is in transition between two symbols resulting in an increased number of symbol detection errors.

In general, timing synchronization in wireless communication systems typically comprises “peak-picking” the output of a sliding correlator between the received signal and a transmit-waveform template. The receiver uses the output of the sliding correlator to estimate the timing offset.

Ultra-wideband (UWB) systems transmit information via baseband transmissions with high penetration capability and rich multipath diversity that can be collected with low-complexity RAKE reception. However, the information-bearing waveforms are impulse-like and have low power, which increases the difficulty in achieving accurate and efficient timing synchronization. Additionally, peak-picking the output of a sliding correlator between the received waveform and the transmit-waveform template is suboptimum in the presence of dense multipath, and results in high receiver complexity with slow acquisition times.

Existing sliding correlator timing synchronization techniques operate with assumptions that are unrealistic in UWB systems. More specifically, many techniques require unrealistic assumptions such as an absence of noise or other interference, absence of multipath, and a priori knowledge of the communication channel. For example, one technique, referred to as coarse bin reversal searching, operates under the assumption that there is no noise. Coarse bin reversal searching estimates the arrival time of the received waveform by dividing each symbol duration into thousands of bins and searching for the bin containing the greatest energy with a sliding correlator. Another technique uses a coded beacon sequence designed in conjunction with a bank of correlators to operate in the absence of multipath. The coded beacon sequence is cross-correlated with the received waveform and estimates the location of the beacon sequence within the received waveform via peak-picking. The location of the beacon sequence is used to estimate the timing offset. Non-data-aided, i.e. blind, timing synchronization techniques operate in the presence of dense multipath but require that there is no time-hopping (TH) within each symbol. Such blind timing synchronization techniques use cross-correlation and rely on dense multipath and the cyclostationarity that arises from the time-hopping restriction. So called “ranging systems” do not use a sliding correlator, but rather use a priori knowledge of the strongest path of the communication channel to estimate the distance between transmitter and receiver.

Consequently, such conventional timing synchronization techniques do not operate functionally in realistic UWB environments. Moreover, many of these conventional timing synchronization techniques for UWB systems, especially those that utilize a sliding correlator with a transmit-waveform template, result in slow acquisition and high receiver complexity.

SUMMARY

In general, techniques are described that provide timing synchronization via correlating received waveforms with “dirty” templates, in wireless communication systems, such as ultra-wideband systems (UWB). Unlike exiting UWB timing synchronization techniques and early-late gate narrowband timing synchronization techniques, the techniques described herein peak-pick the output of a sliding correlator with “dirty templates,” i.e. templates that propagate through the UWB communication channel. These dirty templates are segments of the received waveform and are not only distorted by the unknown channel but also noisy and subject to the unknown timing offset. As shown herein, the use of the dirty templates in timing synchronization may achieve increased energy capture, resulting in improved performance and enabling reduced receiver complexity. Further, the described techniques are able to achieve timing synchronization at any desirable resolution, and are applicable to non-UWB systems provided inter-symbol interference is absent or minimal.

In one embodiment, the invention is directed to a method which processes a data stream of information-bearing symbols to form bursts of information symbols and arranges training symbols within the stream of information-bearing symbols to ensure one polarity transition within three training symbols at a receiver to synchronize timing of a transmitter and the receiver. The method outputs the bursts of information-bearing symbols and training symbols as an ultra wideband (UWB) waveform through a communication channel to the receiver.

In another embodiment, the invention is directed to a method which receives an ultra wideband (UWB) waveform through a wireless communication channel, wherein the received UWB waveform comprises bursts of information-bearing symbols. A template is selected to be used for estimating the timing offset of a burst of the received UWB waveform, wherein the template comprises a segment of a burst of the received UWB waveform and the template is correlated with a segment of a burst of the received waveform so as to form an estimate of the timing offset of the received UWB waveform. A stream of symbol estimates is output in accordance with the estimated timing offset.

In yet another embodiment, the invention is directed to a wireless communication device comprising a pulse generator and a pulse shaping unit. The pulse generator processes a data stream of information bearing symbols to form bursts of information bearing symbols and arranges training symbols within the stream of information-bearing symbols to ensure one polarity transition within three training symbols at a receiver to synchronize timing of a transmitter and the receiver. The pulse shaping unit outputs an ultra wideband (UWB) transmission waveform from the bursts of information-bearing symbols and training symbols.

In an additional embodiment, the invention is directed to a wireless communication device comprising an antenna to receive an ultra wideband (UWB) waveform through a wireless communication channel, wherein the received UWB waveform includes bursts of information-bearing symbols, a timing synchronization unit to form an estimation of a timing offset based on the received UWB waveform, and a symbol detector to output a stream of estimate symbols based on the estimate of the timing offset.

In another embodiment, the invention is directed to a system comprising a transmitter and a receiver. The transmitter processes a data stream of symbols to form bursts of information-bearing symbols and generates an ultra wideband (UWB) waveform through a wireless communication channel. The receiver receives the transmitted signal through a wireless communication channel, selects a segment of the received UWB waveform to use as a template, forms an estimate of the timing offset based on the correlation of the template with the received UWB waveform, and outputs a stream of estimate symbols based on the estimate of the timing.

The timing synchronization techniques described herein may offer one or more advantages. For example, peak-picking the output of a sliding correlator with dirty templates allows timing synchronization in realistic UWB environments, and some non-UWB systems as well, provided intersymbol interference is avoided. In particular, the described techniques operate in the presence of noise, multipath, time-hopping, and multiple users. Additionally, timing synchronization can be achieved at any desirable resolution by selecting the time increment at which each correlation is performed within a symbol duration. Moreover, voltage controlled clock (VCC) circuits can be used to implement the receiver, which may yield lower-complexity UWB receivers than with conventional techniques.

Other advantages that may be provided by the described techniques include a selectable trade-off between performance and bandwidth efficiency. Selecting data-aided dirty templates may increase the performance of the described techniques. For example, a dirty template with four training symbols increases the performance by reducing the number of operations required at the receiver to synchronize timing with the transmitter. However, selecting a non-data-aided, template provides a more efficient use of bandwidth.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating a wireless communication system using an ultra-wideband (UWB) format performing timing synchronization with dirty templates.

FIG. 2 is a block diagram illustrating in further detail the wireless communication system of FIG. 1.

FIG. 3 is a block diagram illustrating an example embodiment of a timing synchronization unit within a receiver.

FIG. 4 is a timing diagram illustrating exemplary symbol-long waveform segments observed by a receiver for two separate received waveforms.

FIG. 5 illustrates an example waveform with pairs of symbols alternating between positive polarity and negative polarity for data-aided timing synchronization with dirty templates.

FIG. 6 illustrates an exemplary mode of operation of the timing synchronization unit of FIG. 3 using the data-aided timing synchronization with the dirty template waveform of FIG. 5.

FIG. 7 illustrates the second step of the data-aided timing synchronization of FIG. 6.

FIG. 8 illustrates the third step of the data-aided timing synchronization of FIG. 6.

FIG. 9 is a flow chart illustrating an exemplary mode of operation of a communication system in which data-aided timing synchronization is performed with dirty templates.

FIG. 10 illustrates successive symbol long waveform segments of a communication system employing non-data-aided timing synchronization with dirty templates.

FIG. 11 illustrates an example mode of operation of a communication system employing data-aided timing synchronization with dirty templates in the presence of multiple users.

FIGS. 12-17 are graphs illustrating results of simulations and comparisons that validate analyses and designs of data-aided and non-data-aided timing synchronization with dirty templates.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating ultra wideband (UWB) communication system 2 in which transmitter 4 communicates with receiver 8 through wireless channel 6. The techniques are described in reference to UWB, but are also applicable to any non-UWB system provided inter-symbol interference is avoided or minimized. In general, the invention provides techniques for performing timing synchronization with “dirty templates”, i.e., segments of the received waveform which propagates through channel 6. In the described embodiments, communication system 2 may be subject to noise, multipath, multiple-users, and time-hopping (TH). The dirty template can be selected to be “data-aided,” i.e., selected to include one or more training symbols, or “non-data-aided,” also referred to as “blind.” As shown herein, data-aided dirty templates generally result in higher performance, while blind dirty templates result in a more efficient use of bandwidth.

Transmitter 4 transmits data as a UWB waveform using a modulation scheme, such as pulse position modulation (PPM) or pulse amplitude modulation (PAM). For simplicity, the examples that follow will be described using antipodal PAM. User separation is achieved via TH codes which time-shift the pulse positions at multiples of the chip duration T_(c). Each information-bearing symbol is transmitted over N_(f) frames each of duration T_(f). During each frame, a data modulated ultra short pulse p(t) that has duration T_(p)<<T_(f) is transmitted. Each pulse, also referred to as a monocycle, can have a Gaussian, Rayleigh, or other shape used in wireless communications. At time t=t1 transmitter 4 transmits the UWB waveform according to equation (1). The energy per monocycle is denoted ε, s(k) is the k^(th) symbol, and p_(T)(t) denotes the transmitted symbol waveform according to equation (2) with N_(f) monocycles shifted by the TH code c_(nf) during the n_(f) ^(th) frame.

$\begin{matrix} {{u(t)} = {\sqrt{E}{\sum\limits_{k = 0}^{+ \infty}{{s(k)}{p_{T}\left( {t - {k\; T_{s}} - t_{1}} \right)}}}}} & (1) \\ {{p_{T}(t)}:={\sum\limits_{n_{f} = 0}^{N_{f} - 1}{p\left( {t - {n_{f}T_{f}} - {c_{n_{f}}T_{c}}} \right)}}} & (2) \end{matrix}$

Receiver 8 receives the transmitted UWB waveform through communication channel 6 which is modeled as a tapped-delay line with L+1 taps with coefficients {α₁}_(l=0) ^(L) and delays {τ_(l)}_(l=0) ^(L) satisfying τ_(l)<τ_(l+1), ∀l. As a result, the waveform arriving at the receiver is given by equation (3). Additionally, channel 6 is modeled as quasi-static, i.e., the channel coefficients and delays remain invariant over one transmission burst, but can change independently from burst to burst.

$\begin{matrix} {{r(t)} = {\sum\limits_{l = 0}^{L}{\alpha_{l}{u\left( {t - \tau_{l}} \right)}}}} & (3) \end{matrix}$

Denoting the first arrival time at receiver 8 with t₂, and the propagation delay through channel 6 as τ₀, the first arrival time can be written t₂=t₁+τ₀. Relative to τ₀, other path delays can be uniquely described by τ_(l), 0=τ_(l)−τ₀. Consequently, the aggregate channel, i.e. channel 6 in combination with the pulse shaper of transmitter 4, is given by equation (4). Equation (5) expresses the received waveform where the received symbol waveform is defined according to equation (6). The noise term w(t) includes additive white Gaussian noise (AWGN) and multiple user interference (MUI). Inter-symbol interference is avoided by selecting T_(f)≧τ_(L,0)+T_(p) and c₀=c_(Nf−1)=0 which confines p_(r)(t) over an interval of duration [0, T_(s)).

$\begin{matrix} {{h(t)}:={\sum\limits_{l = 0}^{L}{\alpha_{l}{p\left( {t - \tau_{l,0}} \right)}}}} & (4) \\ {{r(t)} = {{\sqrt{E\;}{\sum\limits_{k = 0}^{+ \infty}{{s(k)}{p_{R}\left( {t - {k\; T_{s}} - t_{2}} \right)}}}} + {w(t)}}} & (5) \\ {{p_{R}(t)} = {\sum\limits_{l = 0}^{L}{\alpha_{l}{p_{T}\left( {t - \tau_{l,0}} \right)}}}} & (6) \end{matrix}$

The received waveform r(t) is received by receiver 8 at time t₂, but receiver 8 does not know transmission time t₁ or propagation delay τ₀. Therefore, receiver 8 initiates recovery techniques, such as timing synchronization, channel estimation and symbol detection, at time t₃ when a change in the energy of received waveforms is detected. Receiver 8 initiates recovery techniques at time t₃ after the arrival of the first received waveform at time t₂ where t₃>t₂. The timing offset may be viewed as the difference in time between t₃ and the starting time of a symbol at or after t₃. The first symbol starting after t₃ is received at time t defined in equation (7). The arrival time t₂ serves as reference while time t₁ plays no role. As a result, t₂ is set to zero without loss of generality. t=t ₂+┌(t ₃ −t ₂)/T _(s) ┐T _(s)  (7)

Equations (8, 9) allow timing synchronization to be corrected by an integer number n_(ε) ε[0, N_(f)−1] of frames such that t₃+n_(ε)T_(f) is close to either NT_(s) or (N+1)T_(s) within one symbol duration. N:=t ₃ /T _(s)  (8) ε:=t ₃ −NT _(s)  (9)

Data-aided dirty templates based on a finite number of training symbols must satisfy equation (10) where K is the total number of training symbols, i.e. preamble, and K₀ is the minimum number of training symbols required to implement the described data-aided timing synchronization with dirty templates. N≦K−K ₀  (10)

The techniques described herein may be applied to uplink and/or downlink UWB transmissions, i.e., transmissions from a base station to a mobile device and vice versa. Consequently, transmitter 4 and receiver 8 may be any device configured to communicate using a wireless transmission including a distribution station, a hub for a wireless local area network, a mobile phone, a laptop or handheld computing device, a personal digital assistant (PDA), a device within a wireless personal area network, a device within a sensor network, or other device.

FIG. 2 is a block diagram illustrating in further detail transmitter 4 and receiver 8 of the exemplary wireless communication system 2 of FIG. 1. In general, pulse generator 10 processes data stream 9 of information-bearing symbols to generate a burst of symbols. In some embodiments, pulse generator 10 inserts training symbols into each burst of symbols. For example, K training symbols may be inserted as a preamble to each burst. Pulse shaping unit 12 outputs a stream of short pulses to form UWB transmission waveform 11 as given in equation (1) from the burst of symbols. Transmission waveform 11 is a continuous-time waveform carrying the pulse-shaped pulses through channel 6. Channel 6 provides multiple paths for transmission waveform 11, and noise η(t) 14 is modeled as AWGN and includes MUI.

The received UWB waveform 15 is given according to equation (5). Receiver 8 does not know when transmitter 4 began transmitting or the propagation delay of channel 6. Consequently, receiver 8 timing synchronization unit 14 turns on when a change in energy is detected in received waveforms 15. Timing synchronization unit 14 operates on segments of received waveform 15 of duration T_(s) starting at time (t₃+nT_(f)+mT_(s)) for integers nε[0, N_(f)) and mε[0, M−1] with MT_(s) being the observation interval. Equation (11) expresses this waveform with noise ignored for simplicity. The noise free received wave form can then be expressed according to equation (12) using the definition of t₃ in equation (13) and defining the aggregate delay, i.e. delay through the aggregate channel, in equation (14).

$\begin{matrix} {{{\chi_{n,m}(t)} = {x\left( {t + {m\; T_{s}} + {n\; T_{f}} + t_{3}} \right)}},{t \in \left\lbrack {0.T_{s}} \right)}} & (11) \\ {{\chi_{n,m}(t)} = {\sqrt{E}{\sum\limits_{k = 0}^{+ \infty}{{s(k)}{\sum\limits_{n_{f} = 0}^{n_{f} - 1}{\sum\limits_{l = 0}^{L}{\alpha_{l}{p\left( {t - D_{k,n,m}} \right)}}}}}}}} & (12) \\ {t_{3} = {{N\; T_{s}} + ɛ}} & (13) \\ {D_{k,n,m} = {{\left( {k - N - m} \right)T_{s}} - \left( {{n\; T_{f}} + ɛ} \right)}} & (14) \end{matrix}$

Because p(t) has finite support over the interval (0, T_(p)) only a finite number of k values contribute non zero summands in equation (10). The k values are determined by equations (15, 16) ε+nT _(f)ε[0,T _(s))

k=N+m+[0,1]  (15) ε+nT _(f) ε[T _(s),2T _(s))

k=N+m+[1,2]  (16)

Expressing (nT_(f)+ε) as an integer multiple of T_(s) plus a residue gives equations (17, 18) respectively where n_(o) has possible values of 0 and 1 and ε₀ has possible values of [0, T_(s)). n ₀:=(ε+nT _(f))/T _(s)  (17) ε₀ :ε=nT ^(f) −n ₀ T _(s)  (18)

Using equations (17, 18) equations (15, 16) give k=N+m+n₀+[0,1], ε∀ε₀εE [0, T_(f)). Consequently equation (12) can be rewritten according to equation (19).

$\begin{matrix} {{\chi_{m,n}(t)} = {\sum\limits_{k = 0}^{1}\;{{s\left( {k + N + m + n_{0}} \right)}{p_{R}\left( {t - {kT}_{s} + ɛ_{0}} \right)}}}} & (19) \end{matrix}$

The p_(R)(t−kT_(s)+ε₀) depends only on ε and n, but is independent of N, m, and n₀. In other words, as m changes p_(R)(t−kT_(s)+ε₀) remains invariant for any given n and ε.

Timing synchronization unit 14 performs a cross correlation between successively observed waveforms x_(n, m)(t), each of duration T_(s), to acquire n_(ε). Integrating over one symbol duration T_(s), the correlation between successive waveforms x_(n, m)(t) and x_(n, m+1)(t) is given by equation (20). From equation (20) the timing synchronization with data-aided dirty templates is designed below with the description of blind time synchronization using dirty templates following.

$\begin{matrix} {{R_{\chi\chi}\left( {n;m} \right)}:={{\int_{0}^{T_{s}}{{\chi_{n,m}(t)}{\chi_{n,{m + 1}}(t)}\ {\mathbb{d}t}}} = {E{\int_{0}^{T_{s}}{\sum\limits_{k = 0}^{1}\;{{s\left( {k + N + m + n_{0}} \right)}{p_{R}\left( {t - {kT}_{s} + ɛ_{0}} \right)} \times {\sum\limits_{k = 0}^{1}\;{{s\left( {k + N + m + n_{0} + 1} \right)}{p_{R}\left( {t - {kT}_{s} + ɛ_{0}} \right)}\ {\mathbb{d}t}}}}}}}}} & (20) \end{matrix}$

Timing synchronization unit 14 uses data-aided dirty templates to increase performance of estimating the timing offset. In some embodiments, training symbols are transmitted at the beginning of each burst to enable timing synchronization unit 14 to estimate the timing offset. As a result, the recovery techniques performed after such timing synchronization will not be substantially affected by the timing offset. Transmitting training symbols reduces the bandwidth of the UWB system, but increases the performance. Therefore, minimizing the number of training symbols results in an optimal trade-off between performance and bandwidth efficiency in data-aided timing synchronization. The techniques described here allow a minimum number of four symbols to be used. In some embodiments, the minimum number of symbols used is four.

In order to find the minimum number of training symbols, equation (20) is rewritten as equation (21) with coefficients A, B, and C defined in equations (22, 23) respectively. In order to minimize the number of training symbols, which results in a low complexity implementation of receiver 8, the dependence of R_(xx)(n; m) on N, m, and n₀ is removed. R _(xx)(n;m)=A∫ ₀ ^(T) ^(s) p _(R) ²(T+ε ₀)dt+B∫ ₀ ^(T) ^(s) p _(R) ²(t−T _(s)+ε₀)dt  (21) A:=E·s(N+m+n ₀)s(N+m+n ₀+1)  (22) B:=E·s(N+m+n ₀+1)s(N+m+n ₀+2)  (23)

Using the training sequence given by equation (24) and using equations (22,23) the possible values of A, B, and C are given in Table (1). Therefore, the data-aided dirty template is a preamble training sequence of two positive pulses followed by two negative pulses of unit amplitude that is received by receiver 8. Receiver 8 observes successive waveforms over a symbol duration as previously described. Due to the timing offset, the symbol duration long waveforms will include a fraction of two training symbols. However, receiver 8 incrementally correlates successive waveforms over a symbol duration and peak-picks the increment with the greatest result.

$\begin{matrix} {{s(k)} = \left\{ \begin{matrix} {{+ 1},\mspace{14mu}{{{if}\left( {k\;{mod}\; 4} \right)} = 0},{or},1} \\ {{- 1},\mspace{14mu}{{{if}\left( {k\;{mod}\; 4} \right)} = 2},{{or}\mspace{20mu} 3}} \end{matrix} \right.} & (24) \end{matrix}$

In some embodiments, the size of the increment is adjusted to achieve coarse timing synchronization, also referred to as acquisition, by incrementing at the frame level to achieve an integer multiple of the symbol duration, i.e. n_(ε), with ambiguity less than one frame duration. In other embodiments, the size of the increment is adjusted to achieve fine timing synchronization, also referred to as tracking, by incrementing at the chip level to achieve an integer multiple of the frame duration. In further embodiments, the size of the increment is a non-integer value and timing synchronization unit 14 is implemented with voltage controlled clock (VCC) circuitry.

TABLE 1 s(N + m + n₀) +1 +1 −1 −1 s(N + m + n₀ + 1) +1 −1 −1 +1 s(N + m + n₀ + 2) −1 −1 +1 +1 A +E −E +E −E B −E +E −E +E

TABLE 1 s(N + m + n₀) +1 +1 −1 −1 s(N + m + n₀ + 1) +1 −1 −1 +1 s(N + m + n₀ + 2) −1 −1 +1 +1 A +E −E +E −E B −E +E −E +E

Table 1 explicitly shows all possible values of A, B, and C. The absolute value of R_(xx)(n; m) remains invariant for all m, N, and n₀ and is given by equation (25) where the last equality is obtained through a change of variables. Because the symbol waveform p_(R)(t) contains N_(f) monocycles, the first integral corresponds to monocycles with indices from └ε₀/T_(f)┘−1 to N_(f)−1 while the second integral corresponds to monocycles with indices from 0 to └ε₀/T_(f)┘. In the absence of TH codes, i.e. c_(nf)=0, ∀n_(f)ε[0, N_(f)−1], the two integrals in equation (25) can be expressed in closed form respectively as given in equations (26, 27) where E_(h)(τ) is given in equation (28) and ε₁ is given in equation (29).

$\begin{matrix} {{R_{\chi\chi}(n)}:={{{R_{\chi\chi}\left( {n;m} \right)}} = {{E \cdot {{{\int_{0}^{T_{s}}{{p_{R}^{2}\left( {t + ɛ_{0}} \right)}\ {\mathbb{d}t}}} - {\int_{0}^{T_{s}}{{p_{R}^{2}\left( {t - T_{s} + ɛ_{0}} \right)}\ {\mathbb{d}t}}}}}} = {E \cdot {{{\int_{ɛ_{0}}^{T_{s}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}} - {\int_{0}^{ɛ_{0}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}}}}}}}} & (25) \\ {{\int_{ɛ_{0}}^{T_{s}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}} = {{\left( {N_{f} - \left\lfloor \frac{ɛ_{0}}{T_{f}} \right\rfloor} \right){E_{h}\left( T_{f} \right)}} - {E_{h}\left( ɛ_{1} \right)}}} & (26) \\ {{\int_{0}^{ɛ_{0}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}} = {{\left\lfloor \frac{ɛ_{0}}{T_{f}} \right\rfloor{E_{h}\left( T_{f} \right)}} + {E_{h}\left( ɛ_{1} \right)}}} & (27) \\ {{E_{h}(\tau)}:={\int_{0}^{\tau}{{h^{2}(t)}\ {\mathbb{d}t}}}} & (28) \\ {ɛ_{1}:=\left( {ɛ_{0}{mod}\; T_{f}} \right)} & (29) \end{matrix}$

However, in the presence of TH codes, the two integrals in equations (25) cannot be expressed in closed form but the two integrals do not vary much with and without TH codes for various ε₀ values and channel realizations as will be shown in greater detail below. Substituting equations (26, 27) into equation (25) gives equation (30).

$\begin{matrix} {{R_{\chi\chi}(n)} = {ɛ \cdot {{{\left( {N_{f} - {2\left\lfloor \frac{ɛ_{0}}{T_{f}} \right\rfloor}} \right){ɛ_{h}\left( T_{f} \right)}} - {2{ɛ_{h}\left( ɛ_{1} \right)}}}}}} & (30) \end{matrix}$

The maximum of R_(xx)(n) of equation (30) occurs at └ε₀/T_(f)┘=0. Consequently, for any ε, a unique n_(ε) can be found by peak-picking R_(xx)(n) across n as shown in equation (31) by using equation (18) and noticing that (ε+nT_(f))ε[0, 2T_(s)).

$\begin{matrix} {n_{ɛ}:={{\arg\;{\max\limits_{n}\left\{ {R_{\chi\chi}(n)} \right\}}} = {N_{f} - \left\lfloor \frac{ɛ}{T_{f}} \right\rfloor}}} & (31) \\ {{t_{3} + {n_{ɛ}T_{f}}} = {{{NT}_{s} + ɛ + {\left( {N_{f} - \left\lfloor {ɛ/T_{f}} \right\rfloor} \right)T_{f}}} = {{{\left( {N + 1} \right)T_{s}} + \left( {ɛ\;{mod}\; T_{f}} \right)} = {{\left( {N + 1} \right)T_{s}} + ɛ_{1}}}}} & (32) \end{matrix}$

Equation (32) shows that equation (31) leads to estimating the timing offset by correcting t₃ with n_(ε)T_(f), which results in acquiring (N+1)T_(s). Further, because ε₁ε[0, T_(f)), the acquisition error is bounded by one frame duration, i.e. frame-level resolution. In other words, timing synchronization using dirty template with training symbols is achieved by peak-picking the absolute value of the cross correlation in equation (30) between successive waveforms x_(n,m)(t) each of duration T_(s). Correcting the starting time t₃ of timing synchronization unit 14 with an estimate obtained from equation (31) yields starting time (N+1)T_(s) with error less than T_(f).

Additionally, if ε₁ is uniformly distributed over the interval [0, T_(s)) then ε₁ is uniformly distributed over the interval [0, T_(f)). As a result, E{t₃+n_(ε)T_(f)|t₃}=(N+1)T_(s)+T_(f)/2. An estimate is obtained by computing R_(xx)(n;m) over pairs of x_(n,m)(t) and averaging their absolute values across the M/2 pairs as given in equation (33).

$\begin{matrix} {{{\hat{R}}_{\chi\chi}(n)} = {\frac{2}{M}{\sum\limits_{m = 0}^{{M/2} - 1}\;{{\int_{0}^{T_{s}}{{\chi_{n,{2m}}(t)}{\chi_{{2m} + 1}(t)}\ {\mathbb{d}t}}}}}}} & (33) \end{matrix}$

In order to carry out timing synchronization with a data-aided dirty template, M must at least be 2, i.e. m=[0, 1]. From equations (15, 16) m=1 implies k≧N+3. Therefore, the minimum number of training symbols K must satisfy K−1≧N+3. In other words, N has to be bounded by K−4 for any given number of training symbols K.

Timing synchronization using a non-data-aided template trades-off performance for efficient bandwidth. All pulses in non-data-aided timing synchronization are information-bearing, resulting in efficient use of bandwidth. However, longer observation intervals are required to obtain the same performance as data-aided timing synchronization because the information symbols are not guaranteed to switch from positive to negative within two symbols as was designed in the data-aided technique above.

Blind timing synchronization using dirty templates follows from equation (20). Equation (20) can be rewritten as equation (34) because ∫₀ ^(T) ^(s) p_(R)(t+ε_(s))p_(R)(t+T_(s)+ε_(s))dt vanishes due to the finite support of p_(R)(t) and substitutions ∫₀ ^(T) ^(s) p_(R) ²(t)dt=∫₀ ^(T) ^(s) p_(R) ²(t+ε_(s))dt and ∫₀ ^(ε) ^(s) p_(R) ²(t)dt=∫₀ ^(T) ^(s) p_(R) ²(t−T_(s)+ε_(s))dt ). Taking the absolute value of R_(x,x)(n;m) removes the dependence on the unknown symbol s(N+m+n_(s)+1) and gives equation (35). R _(xx)(n;m)=E·s(N+m+n _(s)+1)[s(N+m+n _(s))∫_(ε) _(s) ^(T) ^(s) p _(R) ²(t)dt+s(N+m+n _(s)+2)∫₀ ^(ε) ^(s) p _(R) ²(t)dt]  (34) |R _(χχ)(n;m)|=E·|s(N+m+n _(s))∫_(ε) _(s) ^(T) ^(s) p _(R) ²(t)dt+s(N+m+n _(s)+2)∫₀ ^(ε) ^(s) p _(R) ²(t)dt|  (35)

Moreover, with information conveying symbols s(k)ε{±1} being independent and taking the conditional expectation of the absolute value |R_(xx)(n;m)| for any nε[0, N_(f)−1] gives equation (36).

$\begin{matrix} {\left. {{{R_{\chi\chi}(n)}:={E\left\{ {{R_{\chi\chi}\left( {n;m} \right)}} \right.{h(t)}}},ɛ} \right\} = {{\frac{E}{2}{{{\int_{ɛ_{s}}^{T_{s}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}} - {\int_{0}^{ɛ_{s}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}}}}} + {\frac{E}{2}{\int_{0}^{T_{s}}{{p_{R}^{2}(t)}\ {\mathbb{d}t}}}}}} & (36) \end{matrix}$

Equation (36) removes the dependence of the absolute value |R_(xx)(n;m)| on N, m, and n_(s). However, R_(xx)(n) is still dependent on n for any timing offset ε.

As described previously with data-aided timing synchronization, the symbol waveform p_(R)(t) contains N_(f) monocycles. As a result, the first integral corresponds to monocycles with indices from 0 to └ε₀/T_(f)┘−1 to N_(f)−1 while the second integral corresponds to monocycles with indices from 0 to └ε₀/T_(f)┘. Similarly, in the absence of TH codes, i.e. c_(nf)=0, ∀n_(f)ε[0, N_(f)−1], the two integrals in equation (26) can be expressed in closed form respectively as given in equations (27, 28) where E_(h)(τ) is given in equation (29) and ε₁ is given in equation (30).

Substituting equations (27, 28) into equation (36) gives equation (37) because ε_(s)ε[0, T_(s)], └ε_(s)/T_(f)┘ is in the interval [0, N_(f)−1]. Consequently, the maximum of R_(xx)(n) in equation (37) is given by equation (38).

$\begin{matrix} {{R_{\chi\chi}(n)} = {\frac{E}{2}{{\left( {N_{f} - {2\left\lfloor \frac{ɛ_{0}}{T_{f}} \right\rfloor{E_{h}\left( T_{f} \right)}} - {2{E_{h}\left( ɛ_{1} \right)}}} \right. + {\frac{E}{2}N_{f}{E_{h}\left( T_{f} \right)}}}}}} & (37) \\ {{\max\limits_{n}\left\{ {R_{\chi\chi}(n)} \right\}} = {{{EN}_{f}{E_{h}\left( T_{f} \right)}} - {E\;\min\left\{ {{E_{h}\left( ɛ_{1} \right)},{{E_{h}\left( T_{f} \right)} - {E_{h}\left( ɛ_{1} \right)}}} \right\}}}} & (38) \end{matrix}$

The maximum occurs at └ε_(s)/T_(f)┘=0 if E_(h)(ε₁)<E_(h)(T_(f))/2 and at └ε₀/T_(f)┘=N_(f)−1 otherwise. Using the definition of go and noticing that nε[0, N_(f)−1] gives piece-wise function (39).

$\begin{matrix} {{{\arg\;{\min\limits_{n}\left\{ {R_{\chi\chi}(n)} \right\}}} = {{- \left\lfloor {ɛ/T_{f}} \right\rfloor} = {{0\mspace{14mu}{when}\mspace{14mu} ɛ} = 0}}}\mspace{14mu}{and}{{\arg\;{\max\limits_{n}\left\{ {R_{\chi\chi}(n)} \right\}}} = \left\{ {\begin{matrix} \left( {\left( {N_{f} - \left\lfloor {ɛ/T_{f}} \right\rfloor} \right){mod}\; N_{f}} \right) \\ {N_{f} - \left\lfloor {ɛ/T_{f}} \right\rfloor - 1} \end{matrix}\mspace{11mu}{if}\mspace{14mu}\left\{ {{\begin{matrix} {{{E_{h(}\left( ɛ_{1} \right)} < {{E_{h(}\left( T_{f} \right)}/2}}\mspace{14mu}} \\ {otherwise} \end{matrix}{when}\mspace{14mu} ɛ} > 0} \right.} \right.}} & (39) \end{matrix}$

Equation (39) peak picks R_(xx)(n) across n for any ε. In other words, arg max_(n) {R_(xx)(n)} gives n_(ε) because by correcting t₃ with the number of frames given by equation (39), either NT_(s) or (N+1)T_(s) is acquired with ambiguity<T_(f). Table 2 explicitly lists the possible values of t₃+arg max_(n) {R_(xx)(N)}T_(f).

TABLE 2 E_(h)(ε₁) < ε_(h)(T_(f))/2 E_(h)(ε₁) > E_(h)(T_(f))/2 ε = 0 NT_(s) Impossible ε ε (0, T_(f)) NT_(s) + ε₁ (N + 1)T_(s) + (ε₁ − T_(f)) ε ε [T_(f), T_(s)) (N + 1)T_(s) + ε₁ (N + 1)T_(s) + (ε₁ − T_(f))

Similar to data-aided timing synchronization, equation (33) estimates R_(xx)(n;m) by computing R_(xx)(n;m) over pairs of X_(n,m)(t) each of duration T_(s), and averaging the resulting values across the M/2 pairs. Peak-picking equation (33), i.e.

$n_{ɛ}^{\prime} = {\arg\;{\max\limits_{n}\left\{ {{\hat{R}}_{x\; x}(n)} \right\}}}$ allows t₃ to be corrected with ń_(ε)T_(f) results and results in an estimate of a symbol starting time. Equation (33) is not limited to an integer output and synchronization unit 14 can be implemented with VCC circuits.

Timing synchronization unit 14 estimates the timing offset and initiates channel estimator 16 at the start of the first symbol of received waveform 15 after t₃ with resolution determined by the number of increments. Channel estimator 16 reduces the effects of channel 6, including attenuation and multipath effects. Matched filter 17 receives the output of channel estimator 16 and separates multiple users of communication system 2. Sampling unit 18 samples the output of matched filter 17 producing an output of symbols. Symbol detector 19 performs symbol detection on the output of matched filter 17 producing a stream of symbol estimates 20.

FIG. 3 is a block diagram illustrating an example embodiment of timing synchronization unit 14 of receiver 8 (FIG. 2). For purposes of illustration, timing synchronization unit 14 employs data-aided timing synchronization. Clock 22 receives waveform 15 and initiates data-aided timing synchronization when a change in amplitude of received waveforms 15 is detected. Clock 22 multiplies the received waveform by delay T_(s) 23 and correlator 24 correlates M/2 successive symbol duration waveform pairs via equations (30) starting at time t₃. Clock 22 multiplies t₃ by a selectable value, such as a frame duration, i.e., t₃′=t₃+T_(f), until t₃ is incremented by a symbol duration t₃′=t₃+T_(s). Correlator 24 correlates M/2 successive symbol duration waveform pairs for each incremented time value t₃′. Decision unit 26 receives the output of correlator 24 for each time value and selects the increment value that resulted in the greatest correlation according to equation (30). Equation (24) employs a training sequence such that the greatest correlation occurs when the M/2 pairs of waveforms are each of opposite polarity. Equation (18) implies that by correcting t₃ with n_(ε)T_(f), (N+1)T_(s) is obtained. Additionally, because ε₁ε[0, T_(f)), the acquisition error is bounded by one frame duration. Using similar techniques, fine timing synchronization can be achieved with variable non-integer increments.

The embodiment of timing synchronization unit 14 is described for exemplary purposes only. A substantially similar timing synchronization unit may be employed for non-data-aided timing synchronization. Such a timing synchronization unit would correlate M/2 successive symbol duration waveforms pairs. However, instead of correlating dirty templates of training symbols, the non-data-aided timing synchronization unit would correlate dirty templates of information symbols. Because training symbols are not being transmitted, non-data-aided timing synchronization results in increased bandwidth efficiency. However, to achieve similar performance as the data-aided timing synchronization technique M is generally a larger value, resulting in a slower acquisition time and increased complexity.

FIG. 4 is a timing diagram illustrating exemplary waveform segments of duration T_(s) for two separate received waveforms 32 and 34 which are observed by receiver 8 of communication system 2. For illustrative purposes, supplemental notation for describing timing synchronization with dirty templates is introduced in the following sections. The notation introduced in relation to the following figures should not be taken as contradictory to the previous notation or as limiting the previous notation. Rather, the supplemental notation should be viewed as supporting the following figures and substantially strengthening a conceptual illustration of timing synchronization with dirty templates.

For reference, exemplary received symbol 30 with symbol duration T_(s)=N_(f)T_(f) includes N_(f)=6 pulses, each with duration T_(f), transmitted by transmitter 4. Equation (40) expresses exemplary symbol 30 in terms of the aggregate channel given in equation (4). Waveforms 32 and 34 each include two UWB symbols with received pulses represented as triangles to indicate the time spreading multipath effects of channel 6. Positive pulses are represented by pulses with a solid fill, while negative pulses are represented by pulses with a cross-hatch fill. Waveform 32, denoted x_(τ) ₀ (t) as given in equation (41), includes the pulses, which are all positive, within window 33. Window 33 is of one symbol duration T_(s). Waveform 34, denoted y_(τ) ₀ (t) as given in equation (42), includes the received pulses, positive pulses followed by negative pulses, within window 33. Interval 36 has duration T_(s) and begins when receiver 8 detects an increase in the amplitude of received waveforms. The timing offset created by the difference in time between the time at which interval 36 begins and when the next symbol starts is given by τ₀=n_(ε)T_(f)+ε.

Even in the presence TH and unknown multipath, least-squares (LS) optimal timing estimation is given by equation (43). Peak-picking the cross correlation of T_(s) long received segments of waveforms 32 and 34 allows timing acquisition and tracking in one step or in separate steps at any desirable resolution. Waveforms 32 and 34 guarantee LS estimation of timing off set τ₀ via equation (43).

$\begin{matrix} {{h_{s}(t)} = {\sum\limits_{n = 0}^{N_{f} - 1}\;{h\left( {t - {nT}_{f}} \right)}}} & (40) \\ {x_{\tau_{0}} = {{h_{s}\left( {t - \tau_{0} + T_{s}} \right)} + {h_{s}\left( {t - \tau_{0}} \right)}}} & (41) \\ {y_{\tau_{0}} = {{h_{s}\left( {t - \tau_{0} + T_{s}} \right)} - {h_{s}\left( {t - \tau_{0}} \right)}}} & (42) \\ {{\hat{\tau}}_{0} = {{\arg\;{\max\limits_{\tau}\;{E\left\{ {{\int_{0}^{T_{s}}{{x_{\tau_{0}}\left( {t + \tau} \right)}{y_{\tau_{0}}\left( {t + \tau} \right)}\ {\mathbb{d}t}}}} \right\}}}} = {{{\int_{0}^{T_{s} + {({\tau - \tau_{0}})}}{{h_{s}^{2}\ (t)}{\mathbb{d}t}}} - {\int_{T_{s} + {({\tau - \tau_{0}})}}^{T_{s}}{{h_{s}^{2}\ (t)}{\mathbb{d}t}}}}}}} & (43) \end{matrix}$

FIG. 5 is a timing diagram illustrating an example waveform 40 with pairs of symbols alternating between positive and negative polarity which can be used as a training sequence for data-aided timing synchronization with dirty templates in communication system 2. Waveform 40 includes N_(f)=3 received pulses with duration T_(f) per symbol which are represented by triangles to illustrate the multipath effects of channel 6 time spreading the energy of a transmitted pulse. The pulses of waveform 40 are also subject to time-hopping within each symbol interval of duration T_(s) 42A-42E. Waveform segments 44A-44D are of symbol duration T_(s) and are expressed in terms of waveforms 32 and 34 with positive pulses illustrated having solid fill, while negative pulses are illustrated having a cross-hatch fill. The timing offset created by the difference in time between the beginning of interval 36 and start of the next symbol interval is given by τ₀=n_(ε)T_(f)+ε.

Waveform 40 is designed according to equation (25) such that pairs of positive symbols and pairs of negative symbols are transmitted alternately. Consequently, equation (43) is used to estimate timing offset τ₀.

FIGS. 6-8 are timing diagrams that illustrate an exemplary mode of operation of timing synchronization unit 14 employing data-aided timing synchronization with dirty templates as designed in FIG. 5. Transmitted waveform 50 includes N_(f)=3 pulses per symbol represented by rectangles to illustrate the impulse-like nature of waveform 50. Alternating pairs of positive polarity and negative polarity pulses are transmitted as designed in equation (23). As in FIG. 5, positive symbols with are illustrated having solid fill, while negative pulses are illustrated having a cross-hatch fill.

Waveform 50 transmits symbols such that each segment 54A-54E has duration T_(s) and defines a discrete information-bearing symbol. Waveform 50 propagates through channel 6 and is received by receiver 8 as waveform 52. The triangular pulses of waveform 52 includes pulses illustrating the multipath effects of channel 6 which spreads the energy of the transmitted pulse in time. Although time-hopping is not illustrated in FIGS. 6-8, employing time-hopping does not create any limitations. Receiver 8 estimates timing offset τ₀ by operating on symbol long segments 56A-56D of waveform 52. Symbols 58A, 58B indicate cross correlation according to equation (44).

FIG. 6 illustrates the first cross correlation of two pairs of successive segments (56A, 56B) and (56C, 56D) of waveform 52. Equation (44) is used to calculate the averaged absolute value of cross correlation of the successive segments. M=3 represents the 4 symbol duration segments of waveform 52 and n=0 represents the number of increments. Consequently, equation (44) represents a value of E_(h).

$\begin{matrix} {{\overset{\_}{I}(n)}:={\frac{1}{M}{\sum\limits_{m = 0}^{M - 1}\;{{\int_{0}^{T_{s}}{{x_{\tau_{o}}^{(m)}\left( {t + {nT}_{f}} \right)}{y_{\tau_{o}}^{(m)}\left( {t + {nT}_{f}} \right)}\ {\mathbb{d}t}}}}}}} & (44) \end{matrix}$

FIG. 7 illustrates the cross correlation of successive segments (56A, 56B) and (56C, 56D) of waveform 52 after receiver 8 increments the starting time of the successive segments by one frame duration T_(f). Equation (44) outputs a value of E_(h) for M=4 and n=1.

FIG. 8 illustrates the cross correlation of successive segments (56A, 56B) and (56C, 56D) of waveform 52 after receiver 8 increments the starting time of the successive segments by one frame duration T_(f). Equation (44) outputs a value of 3 E_(h) for M=4 and n=2 because all the pulses in each symbol long segment are of the same polarity and of opposite polarity of the segment with which it is correlated. This result is consistent with Table 1. Equation (45) outputs the value n_(ε)=2 by peak-picking equation (44) across n.

$\begin{matrix} {{\hat{n}}_{ɛ} = {\arg\underset{n}{\;\max}E\left\{ {{\overset{\_}{I}(n)}} \right\}}} & (45) \end{matrix}$

FIG. 9 is a flow chart illustrating an example mode of operation of timing synchronization unit 14 of receiver 8 using data-aided timing synchronization with dirty templates. For each received burst, n is set equal to zero (step 60) so that receiver 8 initiates timing synchronization as soon as received waveforms are detected. M successive segments, each of duration T_(s), are taken from the received waveform (step 62). M/2 successive pairs are then cross correlated (step 64) and timing synchronization unit 14 increments n by one frame duration (step 67) based on whether successive segments have been incremented by a full symbol duration (step 66), i.e., N_(f) iterations. In some embodiments n may be selected to acquire any desirable resolution. When the segments have been cross correlated over N_(f) successive frame durations, an estimate of n_(ε) is formed by peak-picking the averaged cross correlations (step 68). The timing offset is estimated by correcting t₃ with n_(εTf (step 69).)

FIG. 10 illustrates the possible successive symbol long waveform segments 72-76 of a received waveform of communication system 2 employing non-data-aided timing synchronization with dirty templates. Waveforms 72-76 can be viewed as combinations of segments defined according to equations (41, 42). For example, the successive waveforms of 70 include only positive pulses resulting in a cross correlation given by

∫₀^(T_(s))x_(τ₀)² (t)𝕕t. Although x_(τ) ₀ (t) is dependent on τ₀, the auto-correlation of x_(τ) ₀ (t) is independent of τ₀. Therefore, the auto-correlation of x_(τ) ₀ (t) is a constant in time. Equation (46) gives the average of the absolute value of the cross correlations for successive segments 70-76 with equi-probable independent identically distributed symbols. As will be shown in greater detail below through simulations, equation (46) is used in the same manner as equation (44) to provide estimates of the timing offsets. The second term of equation (46) enables non-data-aided timing synchronization with dirty templates. In this case, received information symbols are correlated with received information symbols, resulting in an increase in energy capture because the successive waveform segments propagate through the same communication channel. Consequently, there is an increase in bandwidth efficiency but a decrease in performance. Non-data-aided timing synchronization with dirty templates typically requires correlation over a greater number of successive segments to achieve the same performance as data-aided timing synchronization with dirty templates.

$\begin{matrix} {{E\left\{ {{{succesive}\mspace{14mu}{correlations}}} \right\}} = {{\frac{1}{2}{{\int_{0}^{T_{s}}{{x_{\tau_{0}}^{2}(t)}\ {\mathbb{d}t}}}}} + {\frac{1}{2}{{\int_{0}^{T_{s}}{{x_{\tau_{0}}(t)}{y_{\tau_{0}}(t)}\ {\mathbb{d}t}}}}}}} & (46) \end{matrix}$

FIG. 11 is a timing diagram that illustrates exemplary waveforms when communication system 2 employs data-aided timing synchronization with dirty templates in the presence of multiple users. The desired user's waveform 80 uses the training sequence given in equation (23). Successive segments of symbol duration T_(s) 82 within waveform 80 are guaranteed to alternate between segments of x_(τ) ₀ (t) and y_(τ) ₀ (t). However, the interferer's waveform 84 is not using the training sequence and is not guaranteed to alternate between segments of x_(τ) ₀ (t) and y_(τ) ₀ (t). Consequently, successive segments 86 of the interferer's waveform result in cross correlation equations (47, 48).

$\begin{matrix} {\pm {\int_{0}^{T_{s}}{{x_{\tau_{0}}^{2}(t)}\ {\mathbb{d}t}}}} & (47) \\ {\pm {\int_{0}^{T_{s}}{{x_{\tau_{0}}(t)}{y_{\tau_{0}}(t)}\ {\mathbb{d}t}}}} & (48) \end{matrix}$

By taking the absolute value of the averaged cross correlations, the interferer's waveform is eliminated, leaving only the desired user as shown in equation (49).

$\begin{matrix} {{\overset{\_}{I}(n)}:={\frac{1}{M}{{\sum\limits_{m = 0}^{M - 1}{\int_{0}^{T_{s}}{{x_{\tau_{0}}^{(m)}\left( {t + {n\; T_{f}}} \right)}{y_{\tau_{0}}^{(m)}\left( {t + {n\; T_{f}}} \right)}\ {\mathbb{d}t}}}}}}} & (49) \end{matrix}$

FIGS. 12 and 13 are graphs illustrating exemplary simulation results from application of equations (27, 28) with and without time-hopping codes respectively. Over 100 channel realizations are plotted for each equation. Both so and time-hopping codes are randomly generated according to a uniform distribution on intervals [0, T_(s)) and [0, N_(c)−1] with N_(c)=90 respectively. Equations (27, 28) do not vary significantly with and without time-hopping codes for various values of ε₀ and channel realizations.

FIGS. 14-17 are graphs illustrating results of simulations and comparisons that validate analyses and designs of data-aided and non-data-aided timing synchronization with dirty templates. The simulations are carried out with the pulse p(t) selected as the second derivative of the Gaussian function with unit energy and duration T_(p)≈1 nanosecond (ns). Each symbol contains N_(f)=32 frames, each with duration T_(f)=100 ns. Random channels are generated where rays arrive in several clusters within an observation window. The cluster arrival times are modeled as Poisson variables with cluster arrival rate Λ. Rays within each cluster also arrive according to a Poisson process with ray arrival rate λ. The amplitude of each arriving ray is a Rayleigh distributed random variable having exponentially decaying mean square value with parameters Γ and γ. Parameters of this channel are chosen with (1/Λ, 1/λ, Γ, γ)=(2, 0.5, 30, 5) ns. The diminishing tail of the power profile is truncated to make the maximum delay spread of the multipath channel T_(g)=99 ns. The signal-to-noise ratio (SNR) is defined as the energy per symbol (bit for binary PAM) over the noise variance and ε is randomly generated from a uniform distribution over [0, T_(s)). Fast TH spreading codes of period N_(f) are generated from a uniform distribution over [0, N_(c)−1] with N_(c)=90 and T_(c)=1.0 ns, independently from frame to frame. Inter-symbol interference is avoided by setting c₀=c_(Nf−1)=0.

FIGS. 14 and 15 are graphs illustrating results of a comparison of mean square error (MSE) performance of data-aided and non-data-aided timing synchronization with dirty templates for various values of M, respectively. The MSE in FIGS. 14 and 15 are normalized with respect to T_(s) ² and plotted verse the signal-to-noise ratio (SNR) per pulse. Also plotted is the normalized variance of the random timing offset without timing synchronization. In general, as M increases the normalized MSE decrease monotonically. Similarly, the MSE curves flatten as SNR increases of the frame resolution limit.

Data-aided timing synchronization techniques have higher performance than the non-data-aided techniques. For example, data-aided timing synchronization of FIG. 14 is operational with M=2, i.e. two pairs of x_(τ) ₀ (t) and y_(τ) ₀ (t), and performs significantly better than the non-data-aided M=4 case of FIG. 15. In general, non-data-aided techniques with values of M≧16 result in MSE performance similar to the performance of data-aided techniques with M/4 training symbols.

FIGS. 16 and 17 are graphs illustrating results of a comparison of bit-error-rate (BER) performance of data-aided and non-data-aided timing synchronization with dirty templates for various values of M, respectively. Also plotted are the perfect timing case and the case without timing synchronization. The channel estimate is free of errors in order to isolate timing from channel estimation. The BER performance increases monotonically as M increases in both FIGS. 16 and 17. FIG. 16 shows that data-aided timing synchronization techniques are operational with M=2, i.e. two pairs of x_(τ) ₀ (t) and y_(τ) ₀ (t), while the non-data-aided techniques require M=32 to be operational.

The described techniques may provide advantages in UWB communications systems, and non-UWB wireless communication systems where inter-symbol interference is absent or substantially reduced. In particular, the described techniques operate in realistic UWB environments, e.g., environments having the presence of noise, multipath, time-hopping, and multiple users. Timing synchronization with dirty templates peak-pick the output of a sliding correlator with a template that propagates through the wireless communication channel. Because the template propagates through the same communication channel, the resulting energy capture is higher than energy capture using a clean template, i.e., a stored segment of the transmit waveform. Selecting a data-aided, dirty template increases the performance of the described techniques. For example, a dirty template with four symbols increases the performance by reducing the number of operations performed at the receiver. However, selecting a blind, i.e. non-data-aided, template provides a more efficient use of bandwidth.

Additionally, timing synchronization can be achieved at any desirable resolution by selecting the increment at which each correlation is performed within a symbol duration. In some embodiments, voltage controlled clock (VCC) circuits can be used to implement the receiver.

The described techniques can be embodied in a variety of devices that communicate using ultra wideband communication, including base stations, mobile phones, laptop computers, handheld computing devices, personal digital assistants (PDA's), a device within a wireless personal area network, a device within a sensor network, and the like. The devices may include a digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit (ASIC) or similar hardware, firmware and/or software for implementing the techniques. If implemented in software, a computer-readable medium may store computer readable instructions, i.e., program code, that can be executed by a processor or DSP to carry out one of more of the techniques described above. For example, the computer-readable medium may comprise random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, or the like. The computer-readable medium may comprise computer readable instructions that when executed in a wireless communication device, cause the wireless communication device to carry out one or more of the techniques described herein. These and other embodiments are within the scope of the following claims. 

1. A method comprising: processing a data stream of information-bearing symbols to form bursts of information symbols; arranging training symbols within the stream of information-bearing symbols to ensure at least one polarity transition within every set of three consecutive training symbols at a receiver to synchronize timing of a transmitter and the receiver; and outputting the bursts of information-bearing symbols and training symbols as an ultra wideband (UWB) waveform through a communication channel to the receiver.
 2. The method of claim 1, wherein arranging the training symbols further comprises inserting K training symbols within each burst of information-bearing symbols.
 3. The method of claim 2, wherein inserting the training symbols comprises inserting the K training symbols as the first K symbols of each burst.
 4. The method of claim 1, wherein arranging the training symbols comprises arranging K=4 training symbols according to the following equation where s(k) is the k^(th) symbol of the UWB waveform: ${s(k)} = \left\{ \begin{matrix} {{+ 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 0},{or},1} \\ {{- 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 2},{{or}\mspace{14mu} 3.}} \end{matrix} \right.$
 5. The method of claim 1, wherein arranging the training symbols comprises arranging a minimum number of training symbols, each training symbol having a calculated polarity.
 6. A method comprising: receiving an ultra wideband (UWB) waveform through a wireless communication channel, wherein the received UWB waveform comprises bursts of information-bearing symbols; selecting a template to be used for estimating the timing offset of a burst of the received UWB waveform, wherein the template comprises a segment of a burst of the received UWB waveform; correlating the template with a segment of a burst of the received waveform so as to form an estimate of the timing offset of the received UWB waveform; and outputting a stream of symbol estimates in accordance with the estimated timing offset.
 7. The method of claim 6: wherein selecting the template comprises selecting a segment from a burst of the received UWB waveform of one symbol duration; wherein the segment of the received UWB waveform to be correlated with the template comprises a segment from a burst of the received UWB waveform of one symbol duration adjacent to the template; and wherein correlating the template with a segment of the received UWB waveform comprises correlating the template with the selected adjacent segment of one symbol duration from the burst of the received UWB waveform according to the following equation: ${{\hat{R}}_{x\; x}(n)} = {\frac{2}{M}{\sum\limits_{m = 0}^{{M/2} - 1}{{\int_{0}^{T_{s}}{{\chi_{n,{2\; m}}(t)}{\chi_{n,{{2\; m} + 1}}(t)}\ {\mathbb{d}t}}}}}}$ wherein mε[0,M−1] with M≧2 and nε[0,N_(f)−1], where m is an integer.
 8. The method of claim 7, wherein correlating the template with a segment of the received UWB waveform further comprises selecting the value of {circumflex over (n)}_(ε) by peak-picking the result of correlating M/2 pairs of adjacent templates and segments of the received UWB waveform according to the following equation: ${\hat{n}}_{ɛ} = {\arg\;{\max\limits_{n}{\left\{ {{\hat{R}}_{x\; x}(n)} \right\}.}}}$
 9. The method of claim 8, wherein n determines the resolution of the estimate of the timing offset.
 10. The method of claim 8, wherein n is equal to a non-integer value.
 11. The method of claim 8, wherein n equals one frame duration T_(f) results in frame-level resolution of the timing offset estimate.
 12. The method of claim 6: wherein the received UWB waveform comprises bursts of information-bearing symbols and training symbols, wherein the training symbols are arranged so as to ensure at least one polarity transition within every set of three training consecutive symbols; wherein the template to be used for estimating the timing offset of a burst of the received UWB waveform comprises a segment from a burst of the received UWB waveform, wherein the template is selected from the training symbols; correlating the template with a segment of a burst of the received waveform so as to form an estimate of the timing offset of the received UWB waveform, wherein the segment comprises a segment of one symbol duration from a burst of the received UWB waveform; and outputting a stream of symbol estimates in accordance with the estimated timing offset.
 13. The method of claim 12, wherein the training symbols are the first K symbols of each burst.
 14. The method of claim 13, wherein K training symbols within each burst of symbols are arranged so as to ensure at least one polarity transition within one symbol duration of the received UWB signal.
 15. The method of claim 14, wherein K=4 training symbols are selected according to the following equation where s(k) is the k^(th) symbol of the transmitted signal: ${s(k)} = \left\{ \begin{matrix} {{+ 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 0},{or},1} \\ {{- 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 2},{{or}\mspace{14mu} 3.}} \end{matrix} \right.$
 16. The method of claim 14, wherein K comprises a minimum number of training symbols, each training symbol having a calculated polarity.
 17. The method of claim 12: wherein the template comprises a segment of one symbol duration from the K training symbols of a burst of the received UWB waveform; wherein the segment of the received UWB waveform to be correlated with the template comprises a segment of one symbol duration from the K training symbols of a burst of the received UWB waveform, wherein the segment is adjacent to the template; and wherein correlating the template with the segment of the received UWB waveform comprises correlating the template with the selected adjacent segment of one symbol duration from the burst of the received UWB waveform according to the following equation: ${{\hat{R}}_{x\; x}(n)} = {\frac{2}{M}{\sum\limits_{m = 0}^{{M/2} - 1}{{\int_{0}^{T_{s}}{{\chi_{n,{2\; m}}(t)}{\chi_{n,{{2\; m} + 1}}(t)}\ {\mathbb{d}t}}}}}}$ wherein mε[0,M−1] with M≧2 and nε[0,N_(f)−1], where m is an integer.
 18. The method of claim 17, wherein correlating the template with a segment of the received UWB waveform further comprises selecting the value of {circumflex over (n)}_(ε) by peak-picking the result of correlating M/2 pairs of adjacent templates and segments of the received UWB waveform according to the following equation: ${\hat{n}}_{ɛ} = {\arg\;{\max\limits_{n}{\left\{ {{\hat{R}}_{x\; x}(n)} \right\}.}}}$
 19. The method of claim 18, wherein n determines the resolution of the estimate of the timing offset.
 20. The method of claim 18, wherein n is equal to a non-integer value.
 21. The method of claim 18, wherein n equals one frame duration T_(f) and results in frame-level resolution of the timing offset estimate.
 22. A wireless communication device comprising: a pulse generator that processes a data stream of information bearing symbols to form bursts of information bearing symbols and arranges training symbols within the stream of information-bearing symbols to ensure at least one polarity transition within every set of three consecutive training symbols at a receiver to synchronize timing of a transmitter and the receiver; and a pulse shaping unit that outputs an ultra wideband (UWB) transmission waveform from the bursts of information-bearing symbols and training symbols.
 23. The wireless communication device of claim 22, wherein the pulse generator arranges K training symbols within each burst of information-bearing symbols.
 24. The wireless communication device of claim 23, wherein the pulse generator arranges the K training symbols as the first K symbols of each burst.
 25. The wireless communication device of claim 24, wherein the pulse generator arranges K=4 training symbols according to the following equation where s(k) is the k^(th) symbol of the UWB waveform: ${s(k)} = \left\{ \begin{matrix} {{+ 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 0},{or},1} \\ {{- 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 2},{{or}\mspace{14mu} 3.}} \end{matrix} \right.$
 26. The wireless communication device of claim 24, wherein the pulse generator arranges a minimum number of training symbols that each has a calculated polarity.
 27. A wireless communication device comprising: an antenna to receive an ultra wideband (UWB) waveform through a wireless communication channel, wherein the received UWB waveform includes bursts of information-bearing symbols; a timing synchronization unit to form an estimation of a timing offset based on the received UWB waveform by selecting a template comprising a segment of a burst of the received UWB waveform, and by correlating the template with a segment of a burst of the received waveform; and a symbol detector to output a stream of estimate symbols based on the estimate of the timing offset.
 28. The wireless communication device of claim 27, wherein the timing synchronization unit: selects the template wherein the template comprises a segment from a burst of the received UWB waveform of one symbol duration; and wherein the segment of the received UWB waveform to be correlated with the template comprises a segment from a burst of the received UWB waveform of one symbol duration adjacent to the template; and correlates the template with a segment of the received UWB waveform comprising a segment from a burst of the received UWB waveform of one symbol duration, the segment being adjacent to the template, to form an estimate of the timing offset according to the following equation: ${{\hat{R}}_{x\; x}(n)} = {\frac{2}{M}{\sum\limits_{m = 0}^{{M/2} - 1}{{\int_{0}^{T_{s}}{{\chi_{n,{2\; m}}(t)}{\chi_{n,{{2\; m} + 1}}(t)}\ {\mathbb{d}t}}}}}}$ wherein mε[0,M−1] with M≧2 and nε[0,N_(f)−1], where m is an integer.
 29. The wireless communication device of claim 28, wherein the timing synchronization unit forms an estimate of the timing offset by peak-picking the result of correlating the M/2 pairs of adjacent templates and segments of a burst of the received UWB waveform according to the following equation: ${\hat{n}}_{ɛ} = {\arg\;{\max\limits_{n}{\left\{ {{\hat{R}}_{x\; x}(n)} \right\}.}}}$
 30. The wireless communication device of claim 29, wherein n determines the resolution of the estimate of the timing offset.
 31. The wireless communication device of claim 29, wherein n is equal to a non-integer value.
 32. The wireless communication device of claim 29, wherein n equals one frame duration T_(f) results in frame-level resolution of the timing offset estimate.
 33. The wireless communication device of claim 27: wherein the antenna receives a UWB waveform comprising bursts of information-bearing symbols and training symbols; wherein the timing synchronization unit selects a template, wherein the template comprises a segment of a burst from the training symbols of the received UWB waveform and correlates the template with a segment of a burst from the training symbols of the received waveform so as to form an estimate of the timing offset of the received UWB waveform; and wherein the symbol detector outputs a stream of estimate symbols based on the estimate of the timing offset.
 34. The wireless communication device of claim 33, wherein the antenna receives K training symbols as the first K symbols for each burst.
 35. The wireless communication device of claim 33, wherein K training symbols within each burst of symbols are arranged so as to ensure at least one polarity transition within one symbol duration of the received UWB waveform.
 36. The wireless communication device of claim 35, wherein K=4 training symbols are arranged according to the following equation where s(k) is the k^(th) symbol of the transmitted signal: ${s(k)} = \left\{ \begin{matrix} {{+ 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 0},{or},1} \\ {{- 1},\mspace{14mu}{{{if}\mspace{14mu}\left( {k\mspace{14mu}{mod}\mspace{14mu} 4} \right)} = 2},{{or}\mspace{14mu} 3.}} \end{matrix} \right.$
 37. The communication device of claim 35, wherein a minimum number of training symbols are arranged, such that each training symbol has a calculated polarity.
 38. The wireless communication device of claim 33, wherein the timing synchronization unit: selects the template, wherein the template comprises a segment of one symbol duration from the K training symbols of a burst of the received UWB waveform; correlates the template with a segment of the received UWB waveform, wherein the segment comprises the segment of one symbol duration from the K training symbols of the burst of the received UWB waveform adjacent to the template, according to the following equation: ${{\hat{R}}_{x\; x}(n)} = {\frac{2}{M}{\sum\limits_{m = 0}^{{M/2} - 1}{{\int_{0}^{T_{s}}{{\chi_{n,{2\; m}}(t)}{\chi_{n,{{2\; m} + 1}}(t)}\ {\mathbb{d}t}}}}}}$ wherein mε[0,M−1] with M≧2 and nε[0,N_(f)−1], where m is an integer.
 39. The wireless communication device of claim 38, wherein correlating the template with a segment of the received UWB waveform further comprises selecting the value of {circumflex over (n)}_(ε) by peak-picking the result of correlating M/2 pairs of adjacent templates and segments of the received UWB waveform according to the following equation: ${\hat{n}}_{ɛ} = {\arg\;{\max\limits_{n}{\left\{ {{\hat{R}}_{x\; x}(n)} \right\}.}}}$
 40. The wireless communication device of claim 39, wherein n determines the resolution of the estimate of the timing offset.
 41. The wireless communication device of claim 39, wherein n is equal to a non-integer value.
 42. The wireless communication device of claim 39, wherein n equals one frame duration T_(f) results in frame-level resolution of the timing offset estimate.
 43. The wireless communication device of claim 42, wherein the symbol detector outputs a stream of estimate symbols based on the timing offset by delaying a time to initiate the estimate of the received signal are initiated by {circumflex over (n)}_(ε)T_(f) seconds.
 44. A system comprising: a transmitter that processes a data stream of symbols to form bursts of information-bearing symbols and generates an ultra wideband (UWB) waveform through a wireless communication channel; and a receiver that receives the transmitted signal through a wireless communication channel, selects a segment of the received UWB waveform to use as a template, forms an estimate of the timing offset based on the correlation of the template with a segment of a burst of the received UWB waveform, and outputs a stream of estimate symbols based on the estimate of the timing offset. 